/**
 * API 请求示例
 */
import { get, post, put, del } from '@/utils/request.js'

/**
 * 用户相关 API
 */
export const userApi = {
  // 获取用户信息
  getUserInfo(userId) {
    return get(`/user/${userId}`)
  },

  // 更新用户信息
  updateUserInfo(data) {
    return put('/user', data)
  },

  // 用户登录
  login(params) {
    return post('/auth/login', params, {
      loading: true,
      loadingText: '登录中...'
    })
  },

  // 用户退出
  logout() {
    return post('/auth/logout')
  }
}

/**
 * 股票相关 API
 */
export const stockApi = {
  // 获取股票列表
  getStockList(params) {
    return get('/stock/list', params)
  },

  // 获取股票详情
  getStockDetail(code) {
    return get(`/stock/${code}`)
  },

  // 获取股票行情
  getStockQuote(code) {
    return get(
      `/stock/${code}/quote`,
      {},
      {
        loading: false, // 不显示加载提示
        timeout: 5000 // 设置超时时间
      }
    )
  },

  // 添加自选股
  addFavorite(stockCode) {
    return post('/stock/favorite', { code: stockCode })
  },

  // 删除自选股
  removeFavorite(stockCode) {
    return del(`/stock/favorite/${stockCode}`)
  }
}

/**
 * 示例：在组件中使用
 *
 * <script setup>
 * import { userApi, stockApi } from '@/api/example.js'
 *
 * // GET 请求
 * const getUserInfo = async () => {
 *   try {
 *     const user = await userApi.getUserInfo('123')
 *     console.log(user)
 *   } catch (error) {
 *     console.error(error)
 *   }
 * }
 *
 * // POST 请求
 * const login = async () => {
 *   try {
 *     const result = await userApi.login({
 *       username: 'admin',
 *       password: '123456'
 *     })
 *     uni.setStorageSync('token', result.token)
 *   } catch (error) {
 *     console.error(error)
 *   }
 * }
 *
 * // 获取股票列表
 * const getStocks = async () => {
 *   try {
 *     const stocks = await stockApi.getStockList({
 *       page: 1,
 *       pageSize: 20
 *     })
 *     console.log(stocks)
 *   } catch (error) {
 *     console.error(error)
 *   }
 * }
 * </script>
 */
